//############################################################
// FILE:  Task_function.h
// Created on: 2017年1月5日
// Author: XQ
// summary: Header file  and definition
//本程序只供学习使用，未经作者许可，不得用于其它任何用途
//版权所有，盗版必究
//DSP/STM32电机控制开发板
//硕历电子
//网址: https://shuolidianzi.taobao.com
//Author-QQ: 616264123
//电机控制QQ群：314306105
//############################################################

#ifndef MAIN_USER_H
#define MAIN_USER_H


#include "main.h"


typedef struct {
	     int32_t   BUS_Curr ;     // 母线电流 DC Bus  Current
	     int32_t   PhaseU_Curr;   // U相电流 Phase U Current
	     int32_t   PhaseV_Curr;   // V相电流Phase V Current
	     int32_t   BUS_CurrFitter ;     // 母线电流滤波值
	     int32_t   PhaseU_CurrFitter;   // U相电流滤波值
	     int32_t   PhaseV_CurrFitter;   // V相电流滤波值
	
	     int32_t   BUS_Voltage ;  //母线电压DC Bus  Voltage	     
	     int32_t   RP_speed_Voltage ;   // 电位器电压 RP1_Voltage
	     int32_t   OffsetBUS_Curr ;     // 母线电流偏执值 DC Bus  Current
	     int32_t   OffsetPhaseU_Curr;   // U相电流偏执值  Phase U Current
	     int32_t   OffsetPhaseV_Curr;   // V相电流偏执值 Phase V Current
	   
	
	     //K1 = 0.000159/(T+0.000159);  采样时间T = 0.1ms，放大了1024倍，从浮点数转为了Q10格式定点数，截止频率1KHZ  629
	     //K2 = 1024 - K1   263
	
	     //K1 = 0.000318/(T+0.000318);  采样时间T = 0.1ms，放大了1024倍，从浮点数转为了Q10格式定点数，截止频率500HZ  761
	     //K2 = 1024 - K1    263
	     int32_t   Coeff_filterK1;   // 一阶低通滤波器系数1：761    
		   int32_t   Coeff_filterK2;   // 一阶低通滤波器系数2：263

       }ADCSamp;
extern    ADCSamp     ADCSampPare;
#define  ADCSamp_DEFAULTS  {0,0,0,0,0,0,0,0,0,0,0,263,761}   // 初始化参数

extern uint8_t aRxBuffer[100];

extern ADCSamp      ADCSampPare;
extern uint16_t  ADC_ConvertedValue[2];
extern uint32_t adc1_in0, adc1_in1, adc2_in2, adc1_in8, adc1_in3;

void main_user(void);
void Offset_CurrentReading(void);
void Offset_Current_Start(void);
void ADC_Sample(void);
void Param_init(void);
void Param_deinit(void);
/*********** HAL extern*************/
extern ADC_HandleTypeDef hadc1;
extern ADC_HandleTypeDef hadc2;

extern TIM_HandleTypeDef htim1;

extern UART_HandleTypeDef huart3;
extern DMA_HandleTypeDef hdma_usart3_rx;
extern DMA_HandleTypeDef hdma_usart3_tx;



#endif  // end of Task_function_H definition

//===========================================================================
// End of file.
//===========================================================================
